//
//  NSString+Extension.h
//  JiLaiBao
//
//  Created by youmy on 15/10/9.
//  Copyright (c) 2015年 youmy. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Extension)
+ (NSString *)cleanNumber:(NSString *)str;
/**
 *  计算字符串长宽
 *
 *  @param string 字符串
 *  @param font   字体
 *  @param width  指定宽度
 */
+ (CGSize)boundingRectWithString:(NSString *)string font:(UIFont *)font width:(CGFloat)width;

/**
 *  计算字符串长宽
 *
 *  @param string 字符串
 *  @param font   字体
 *  @param height 指定高度
 */
+ (CGSize)boundingRectWithString:(NSString *)string font:(UIFont *)font height:(CGFloat)height;

/**
 *  计算字符串长宽
 *
 *  @param string 字符串
 */
+ (CGSize)boundingRectWithString:(NSString *)string font:(UIFont *)font;

/**
 *  格式化货币
 *
 *  @param currency 字符串
 */
+ (NSString *)formatterCurrency:(NSString *)currency;

/**
 *  格式化货币(精确到两位小数)
 *
 *  @param currency 字符串
 */
+ (NSString *)formatterCurrencyWithCGflot:(NSString *)currency;

/**
 *  设备判断
 */
+ (NSString *)deviceType;

/**
 *  设备判断
 */
+ (NSString *)deviceTypeHeight;

/**
 *  设备型号
 */
+ (NSString*)deviceVersion;

/**
 *  判断网络
 *
 *  YES 有网，NO 无网
 */
+ (BOOL)getcurrentNetStatus;

/**
 *  获取ip地址
 */
+ (NSString *)getIPAddress;

/**
 *  获取当前版本号，开发提交binary时版本
 */
+ (NSString *)getVersion;

/**
 *  获取当前版本号,与AppStore一致
 */
+ (NSString *)getShortVersion;

/**
 *  获取InfoDictionary
 *
 */
+ (NSDictionary *)getInfoDictionary;

/**
 *  秒转时分秒
 *
 *  @param seconds 秒
 */
+ (NSString*)timeformatFromSeconds:(NSInteger)seconds;


/**
 timestamp to month minute

 @param timestamp timestamp
 @return MM月dd日  HH:mm
 */
+ (NSString *)timestamp2MonthMinute:(NSString *)timestamp;

/**
 *  秒转时分秒(中文)
 *
 *  @param seconds 秒
 */
+ (NSString*)timeformatForCNFromSeconds:(NSInteger)seconds;

+ (NSDictionary *)resourcePathWithFileName:(NSString *)fileName;

+ (NSString *)dateWithString:(NSString *)dateStr formatter:(NSString *)formatterStr;

//获取当前的时间
+(NSString*)getCurrentTimes;
+(NSString *)getCurrentTime;
/**
 得到当前时间
 @return NSDate
 */
+(NSString *)getCurrentTimeDate;


/**
 获取当前时间的时间戳
 
 @return 时间戳
 */
+(NSString *)GetTheTimestampOfTheCurrentTime;

/**
 时间转时间戳

 @param time 2017-06-22 09:51:23
 @return 返回时间戳
 */
+(NSString *)changeTimeStrWithStr:(NSString *)time;
/**
 时间戳转时间
 
 @param timeString 1498208338000
 @return 2017-06-27
 */
+(NSString *)timeWithTimeIntervalString:(NSString *)timeString;
/**
 时间戳转小时分钟
 
 @param timeString 1498208338000
 @return 07:00
 */
+(NSString *)getHourMinuteWithString:(NSString *)timeString;
/**
 时间戳转分钟
 
 @param timeString 1498208338000
 @return 07:00
 */
+(NSString *)getMinuteWithString:(NSString *)timeString;

/**
 获取当前时间的时间戳

 @return 时间戳
 */
+(NSString *)getCurrentTimeSp;
/**
 提醒弹窗
 */
+(void)setstateWithProgress;

/**
 将现在的时间与指定时间比较，如果没达到指定日期，返回-1，刚好是这一时间，返回0，否则返回1
 
 @param oneDay 现在时间
 @param anotherDay 指定日期
 @return true/false
 */
+(int)compareOneDay:(NSDate *)oneDay withAnotherDay:(NSDate *)anotherDay;

/**
 ios通过图片的URL地址，从网络上获取图片(UIImage类型)
 
 @param fileURL 图片url
 @return uiimage
 */
+(UIImage *)getImageFromURL:(NSString *)fileURL;

/**
 判断是不是数字
 */
+ (BOOL)deptNumInputShouldNumber:(NSString *)str;



//获取当前屏幕显示的viewcontroller   (这里面获取的相当于rootViewController)
+ (UIViewController *)topViewController;
+ (UIViewController *)_topViewController:(UIViewController *)vc;
/**
 *  手机型号
 *
 *  @return e.g. iPhone
 */
+(NSString *)phoneModel;

/**
 手机别名*/
+(NSString *)phoneName;

/**
 *  手机系统版本
 *
 *  @return e.g. 8.0
 */
+(NSString *)phoneVersion;

/**
 获取当前时间戳
 */
+(NSString *)getCurrentDate;

/**
 bundle是一个目录,其中包含了程序会使用到的资源
 */
+(NSDictionary *)getBundleInfo;

+ (UIButton *)createBBI:(CGRect)frame title:(NSString *)title image:(NSString *)image target:(id)target selector:(SEL)sel;

+(UIButton *)createButton:(CGRect)frame title:(NSString *)title image:(UIImage *)image target:(id)target selector:(SEL)selector;

//字符串文字的长度
+(CGFloat)widthOfString:(NSString *)string font:(UIFont*)font height:(CGFloat)height;

//字符串文字的高度
+(CGFloat)heightOfString:(NSString *)string font:(UIFont*)font width:(CGFloat)width;

//获取今天的日期：年月日
+(NSDictionary *)getTodayDate;


// 时间比较
+(NSString *)compareFromDate:(NSDate *)from toDate:(NSDate *)to;
//时间戳转化为时间
+(NSString *)getTimestampWithString:(NSString *)str;

//邮箱
+ (BOOL)justEmail:(NSString *)email;

//手机号码验证
+ (BOOL)justMobile:(NSString *)mobile;
//车牌号验证
+ (BOOL)justCarNo:(NSString *)carNo;

//车型
+ (BOOL)justCarType:(NSString *)CarType;

//用户名
+ (BOOL)justUserName:(NSString *)name;

//密码
+ (BOOL)justPassword:(NSString *)passWord;

//昵称
+ (BOOL)justNickname:(NSString *)nickname;

//身份证号
+ (BOOL)justIdentityCard: (NSString *)identityCard;
+(BOOL)checkUserID:(NSString *)userID;
/**
 获取当前资源文件
 */
+(NSBundle *)bundle;//

/**
 初始化语言文件
 */
+(void)initUserLanguage;

/**
 获取应用当前语言
 */
+(NSString *)userLanguage;//

/**
 设置当前语言
 */
+(void)setUserlanguage:(NSString *)language;

/**
 判断是否是有效的中文名
 */
+ (BOOL)isVaildRealName:(NSString *)realName;
// 银行卡号转正常号 － 去除4位间的空格
+(NSString *)bankNumToNormalNum:(NSString *)bankCardNumber;

// 正常号转银行卡号 － 增加4位间的空格
+(NSString *)normalNumToBankNum:(NSString *)bankCardNumber;
//银行卡
+ (BOOL) IsBankCard:(NSString *)cardNumber;

//iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)
+(NSString *)distanceTimeWithBeforeTime:(double)beTime;
@end
